昨天,我們的信鴿已經能準時把快報送到粉絲手中。
今天,我們要讓它更聰明一點——不只是送信,而是聽得懂問題、答得出內容。
這次挑戰的目標,是打造一個能理解人類語言的 ChatBot 雛型,讓它能從我們的旅遊資料庫中搜尋答案,並以自然語言回覆。
從單向傳遞資訊的信鴿進入對話世界。
讓 ChatBot 懂「語意」的關鍵技術:RAG(Retrieval-Augmented Generation)
這是 ChatBot 智慧的核心公式:「先找資料,再回答問題。」
它的運作分三步:
他會先翻筆記再回答——答得更準、更有根據。
循序漸進的智慧養成
step 1:旅遊筆記庫 x RAG
整合我們的旅遊資料庫,包括景點名稱、好評比例、智慧摘要,並參考 Nepal Tourism Board 的特色活動與天氣資訊,打造適合作為 RAG 索引的 .jsonl 格式,讓 ChatBot 能找到與提問符合、最接近的內容。
旅遊筆記庫內含豐富資訊,是 ChatBot 的核心大腦。
step 2:NLP 對話建模
我們採取循序漸進的方式測試與學習,從最簡單的版本開始,一步步升級:從最初的 rule-based → TF-IDF 檢索 → SentenceTransformer → Gemini API 升級,我們讓 ChatBot 的理解力一層一層增強。
rule-based:以 TextBlob 簡單判斷情緒搭配 if/else ,極為陽春,基本讓你覺得它就是個機器人。
TF-IDF:以 TextBlob 簡單判斷情緒搭配 TF-IDF 建立向量,偏向資料檢索,但回答還是很陽春,基本也是回答一樣的內容,很常文不對題。
SentenceTransformer: 以 SentenceTransformer 模型建立語意向量,這次有誠意多了,回答的主題符合,但還是有機器感。
Gemini LLM x FAISS:以 SentenceTransformer 模型建立語意向量、 FAISS 快速檢索 RAG 旅遊筆記庫,搭配 Gemini-2.5-flash API 接上大語言模型,回應品質大大提升。
實作進展與關鍵突破
透過 Gemini LLM x FAISS 的組合技,我們成功整合 RAG 檢索與旅遊資料,打造能「理解問題、檢索內容、生成回覆」的 ChatBot 雛形。
現在,它能依使用者提問,自動找出關聯評論,並整合成自然回覆。
當粉絲收到信鴿送來的快報後, 心理的疑問能透過 ChatBot 得到值得參考的資訊。範例:
成功打造 ChatBot 的幕後英雄
今天解鎖的新技能:
🍄 RAG 架構實作能力:學會將資料庫與生成模型結合,打造能回答問題的智慧代理。
🍄 循序漸進的升級策略:掌握從 rule-based 到 LLM 的逐步測試與迭代方法,降低開發風險。
🍄 語意向量思維:理解文字不只是字面比對,而是把每句話轉成向量座標進行檢索。
📓 小結:
從「信鴿送快報」到「智慧 ChatBot」,今天我們完成了資料理解與語意檢索的第一步。
它不再只是單向傳遞資訊,而開始能「聽懂問題、找資料、回答問題」。
明日的挑戰,就是讓這隻信鴿更進一步——真正與使用者互動,成為會聊天、懂你的魔法助手。